package com.siwei.mes.sync.erp.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.siwei.mes.common.validator.bus.SyncGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 同步供应商原材料入参
 *
 * @Description: 同步供应商原材料入参
 * @Version: 1.0
 * @author: mlchen
 * @date: 2024/8/17 09:58
 */
@Data
public class SyncSupplierCompanyMaterials {
    @JSONField(name = "CYRID")
    @JsonProperty(value = "CYRID")
    @ApiModelProperty(value = "供货单位材料关系ID主键")
    @NotNull(groups = {SyncGroup.class}, message = "供货单位材料关系ID为空")
    private Integer CYRID;
    @JSONField(name = "YCID")
    @JsonProperty(value = "YCID")
    @ApiModelProperty(value = "供货单位ID")
    @NotNull(groups = {SyncGroup.class}, message = "供货单位id为空")
    private Long YCID;
    @JSONField(name = "yclCompanyName")
    @JsonProperty(value = "yclCompanyName")
    @ApiModelProperty(value = "供货单位名称")
    @NotBlank(groups = {SyncGroup.class}, message = "供货单位名称为空")
    private String yclCompanyName;
    @JSONField(name = "category")
    @JsonProperty(value = "category")
    @ApiModelProperty(value = "原材料类型  粗骨料，细骨料，水泥，矿粉，水，掺合料，外加剂，其他 ")
    @NotBlank(groups = {SyncGroup.class}, message = "原材料类型为空")
    private String category;
    @JSONField(name = "yclName")
    @JsonProperty(value = "yclName")
    @ApiModelProperty(value = "原材料名称")
    @NotBlank(groups = {SyncGroup.class}, message = "原材料名称为空")
    private String yclName;
    @JSONField(name = "pzgg")
    @JsonProperty(value = "pzgg")
    @ApiModelProperty(value = "品种规格")
    @NotBlank(groups = {SyncGroup.class}, message = "品种规格为空")
    private String pzgg;
    @JSONField(name = "yclkey")
    @JsonProperty(value = "yclkey")
    @ApiModelProperty(value = "ycl+pzgg的唯一键")
    private String yclkey;
    @JSONField(name = "state")
    @JsonProperty(value = "state")
    @ApiModelProperty(value = "状态 1：有效 0：无效")
    private String state;
    @JSONField(name = "rateofwater")
    @JsonProperty(value = "rateofwater")
    @ApiModelProperty(value = "含水率%0-100")
    private Float rateofwater;
    @JSONField(name = "kz")
    @JsonProperty(value = "kz")
    @ApiModelProperty(value = "扣杂")
    private Float kz;
    @JSONField(name = "kzType")
    @JsonProperty(value = "kzType")
    @ApiModelProperty(value = "扣杂形式 1：%,2：kg")
    private Integer kzType;
    @JSONField(name = "rz")
    @JsonProperty(value = "rz")
    @ApiModelProperty(value = "容重")
    private Float rz;
    @JSONField(name = "action")
    @JsonProperty(value = "action")
    @ApiModelProperty(value = "1:新增 2:更新")
    private Integer action;
    @JSONField(name = "logId")
    @JsonProperty(value = "logId")
    @ApiModelProperty(value = "日志id")
    private Long logId;
}
